package br.com.ged.infraestrutura;

import java.util.List;

import br.com.ged.dominio.Arquivo;
import br.com.ged.dominio.ListaArquivos;

public class ListaArquivosImpl extends GenericJpaDAO<Arquivo> implements ListaArquivos {
	
	@Override
	public Arquivo procurarPorId(Integer id) {
			return getPojoById(Arquivo.class, id);
	}
	
	public Arquivo procurarPorNome(String nome) {
		return getPurePojo("from Arquivo arquivo where arquivo.nome = ?1", nome);
	}
	
	public void salvar(Arquivo objeto){
		saveOrUpdatePojo(objeto);
	}
	
	public boolean isCadastrado(String nome){
		return procurarPorNome(nome) != null;
	}
	
	@Override
	public void adicionar(Arquivo objeto) {
		savePojo(objeto);
	}

	@Override
	public void atualizar(Arquivo objeto) {
		updatePojo(objeto);
	}
	
	public void remover(Arquivo objeto){
		removePojo(objeto);
	}
	
	public List<Arquivo> listar(){
		return getListPojos(Arquivo.class, "from Arquivo arquivo");
	}

	@Override
	public Arquivo carregarUltimo() {
		Arquivo ultimoArquivo = new Arquivo();
		for (Arquivo arquivo : listar()) {
			if(arquivo.getId() > ultimoArquivo.getId())
				ultimoArquivo = arquivo;
		}
		
		return ultimoArquivo;
	}
}
